create or replace type body my_emp_obj is
 constructor function my_emp_obj(my_row_num number,emp_no varchar2,emp_name varchar2,emp_age number) return self as result
 is 
 begin
   self.my_row_num := my_row_num;
   self.emp_no := emp_no;
   self.emp_name := emp_name;
   self.emp_age := emp_age;
   return;
 end my_emp_obj;
 overriding member function to_string return varchar2 is
 begin 
   return (self as my_base_obj).to_string() || ',emp_no=' || self.emp_no || ',emp_name=' || self.emp_name || ',emp_age=' || self.emp_age;
 end to_string;
end;